package com.zhangtai.modules.controller.admin;

import com.zhangtai.modules.constVo.NoticeConst;
import com.zhangtai.modules.entity.common.NoticeEntity;
import com.zhangtai.modules.service.common.NoticeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;
import java.util.List;
@Api(tags="消息推送")
@RestController
@RequestMapping("/notice")
@Slf4j
public class NoticeController {

    @Autowired
    NoticeService noticeService;

    @Transactional
    public void updateNoticeTodo(Long operateId,Integer type){
        List<NoticeEntity> noticeList = noticeService.getNoticeToDoByRelateId(operateId,type);
        for(NoticeEntity notice:noticeList){
            Date date = new Date();
            notice.setDoneDate(date);
            notice.setIsDone(NoticeConst.IS_DONE);
            noticeService.updateByIdE(notice);
        }
    }

    @Transactional
    @PostMapping("/updateNoticeRead")
    @ApiOperation("更新阅读状态")
    public void updateNoticeRead(Long noticeId){
        NoticeEntity noticeEntity = new NoticeEntity();
        noticeEntity.setId(noticeId);
        noticeEntity.setIsRead(NoticeConst.IS_READ);
        noticeEntity.setEntryDate(new Date());
        noticeService.updateByIdE(noticeEntity);

    }
}
